Fixed more bugs with google route priorities
authorparkrrrr <parkrrrr@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 27 Jul 2005 20:40:04 +0000 (20:40 +0000)
committerparkrrrr <parkrrrr@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 27 Jul 2005 20:40:04 +0000 (20:40 +0000)
gpsbabel/google.c

index fa956724b09156f0ff8e1deffbb245bbb3421d48..ab09b35cc7bc092aec1707cc37f472984235ad98 100644 (file)
@@ -124,8 +124,8 @@ void goog_poly_e( const char *args, const char **unused )
        long lat = 0;
        long lon = 0;
        long level = 0;
-       long level1 = 0;
-       long level2 = 0;
+       long level1 = -9999;
+       long level2 = -9999;
         char *str = encoded_points;
        char *lstr = encoded_levels;
        
@@ -137,18 +137,22 @@ void goog_poly_e( const char *args, const char **unused )
                lat += decode_goog64( &str );
                lon += decode_goog64( &str );
                
-               level = 0;
-               level1 = 0;
+               level = -1;
+               level2 = level1;
                if ( lstr && *lstr ) 
                {
-                       level2 = level1;
-                       level1 = decode_goog64( &lstr );
-                       level = (level1<level2)?level1:level2;
+                       level1 = -decode_goog64( &lstr );
                }
-               /* level of 0 happens for endpoints */
-               if ( level == 0 ) 
+               else 
+               {
+                       level1 = -9999;
+               }
+               level = (level1<level2)?level1:level2;
+               
+               /* level of -9999 happens for endpoints */
+               if ( level == -9999 ) 
                        level = 99999;  
-
+               
                {
                        waypoint *wpt_tmp = waypt_new();
                        wpt_tmp->latitude = lat / 100000.0;